Client-Driven Pointer Analysis
نویسندگان
چکیده
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. We evaluate our algorithm on 18 real C programs, using five significant error detection problems as clients. We compare the accuracy and performance of our algorithm against several commonly-used fixed-precision algorithms. We find that the client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times more costly. Our algorithm works because many client problems only need a small amount of extra precision applied to the right places in each input program.
منابع مشابه
Error checking with client-driven pointer analysis
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. Using five significant error detection problems as clients, we evaluate our algorithm on 18 real C programs. We compare the accuracy and performance of our algorithm against several commonly-used fixedprecision algorithms. We find that the clie...
متن کاملDemand-driven Pointer Analysis on Explicit Dependence Graphs
In this thesis I present a demand-driven pointer analysis for Java that aims at applications which require memory and time efficiency of the pointer analysis, such as tools for IDEs or JIT compilers. It furthermore allows clients to specify the precision needed and is context-sensitive and flow-sensitive. The demand-driven aspect of my approach allows the analysis to ignore irrelevant parts of ...
متن کاملBoomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java
Many current program analyses require highly precise pointer information about small, targeted parts of a given program. This motivates the need for demand-driven pointer analyses that compute information only where required. Pointer analyses generally compute points-to sets of program variables or answer boolean alias queries. However, many client analyses require richer pointer information. F...
متن کاملDemand-Driven Pointer Analysis with Strong Updates via Value-Flow Refinement
We present a new demand-driven flowand context-sensitive pointer analysis with strong updates for C programs, called SUPA, that enables computing points-to information via value-flow refinement, in environments with small time and memory budgets such as IDEs. We formulate SUPA by solving a graphreachability problem on an inter-procedural value-flow graph representing a program’s def-use chains,...
متن کاملEfficient Computation of Parameterized Pointer Information for Interprocedural Analyses
This paper presents a modular algorithm that efficiently computes parameterized pointer information, in which symbolic names are introduced to identify memory locations whose addresses may be passed into a procedure. Parameterized pointer information can be used by a client program analysis to compute parameterized summary information for a procedure. The client can then instantiate such inform...
متن کامل